package cn.edu.njuit.web.server.servive;

import cn.edu.njuit.web.server.servive.dto.MovieInfo;
import utils.Page;

public interface MovieInfoService {
    /**
     * 分页获取全部影片信息
     * @param page 页码
     * @param size 页长
     * @return 分页的影片列表
     */
    Page<MovieInfo> getAllMovieInfo(Integer page, Integer size);


    /**
     * 根据关键字查询影片列表
     * @param keywords 查询关键字
     * @param page 页码
     * @param size 页长
     * @return 符合关键字的影片列表
     */
    Page<MovieInfo> getMoviesByKeywords(String keywords, Integer page, Integer size);


    /**
     * 获取指定影片数据
     * @param movieId 影片编码
     * @return 影片数据对象
     */
    MovieInfo getMovieById(long movieId);


    /**
     * 发布一部影片
     * @param movieInfo 影片数据对象
     * @return 保存成功后的影片数据对象
     */
    MovieInfo publishMovieInfo(MovieInfo movieInfo);


    /**
     * 修改影片信息
     * @param movieInfo 影片数据对象
     * @return 保存成功后的影片数据对象
     */
    MovieInfo modifyMovieInfo(MovieInfo movieInfo);


    /**
     * 删除影片信息
     * @param movieId 需要删除的影片编码
     * @return 操作成功与失败标记
     */
    Boolean deleteMovieInfo(Long movieId);
}
